iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Software Development

數位醫療與雲原生第一次的親密接觸系列 第 16

Day 16 [雲原生( Cloud Native ) ] docker X docker-compose X Kubernetes

  • 分享至 

  • xImage
  •  

剛開始接觸雲原生(Cloud Native)領域時常常會對一些名詞感到困惑,像是docker、docker-compose、Kubernetes的差別,於是在進入下個階段前想先跟大家分享它們之間的差別。

  • docker
    docker是一個開源的容器化平台,它能將應用程式及其所有依賴打包到一個可移植的容器中,使應用程式能夠在不同的環境中一致地運行。主要應用為單個的服務,除了docker外,containerd也是容器化的工具之一,它輕量化及簡單輕鬆的設計使其更靈活和可擴展性(scalable)更高。較新的Kubernetes也開始使用containerd作為控管容器(container)的工具。

  • docker-compose
    docker-compose 是 Docker 生態中的一個工具,專門用來定義和運行多容器的 docker 應用程式,較適合用於測試及開發環境。使用YAML文件(docker-compose.yml)來描述應用程式的服務(service)、網路配置(network)和卷存儲(volume),可以輕鬆的一次啟動、管理多個相互依賴的容器。不過其實docker-compose裡也能只放一個容器,對單個容器進行管理,如想要設定單個容器fail後會自動重啟,可以在docker-compose.yml裡設定容器啟動規則為always restart,算是不擅長寫crontab腳本的人的好幫手XD

  • Kubernetes
    Kubernetes(K8s)是一個開源的容器管理平台,用來自動化部署、管理和擴展容器化應用,較適合用於正式環境。Kubernetes比docker-Compose 更加強大,能夠在分布式系統中協調大量容器,實現高可用性、滾動更新、自我修復等特性。K8s是滿好用的容器管理系統,除了基礎功能外,開源社群上還有非常多的高手以及許多好用的插件,除此之外還非常適合微服務架構,是管理許多微服務的好用工具。

前面文章有提到使用docker-compose建立測試環境及將開發好的服務打包成docker,接下來開始會介紹如何將服務部署於K8s環境,及相關的雲原生應用,對我來說算是數位醫療與雲原生第一次的親密接觸XD


上一篇
Day 15 [數位醫療] Dockerize multi-frame dicom轉換服務
下一篇
Day 17 [雲原生(Cloud Native)] Springboot服務上K8s
系列文
數位醫療與雲原生第一次的親密接觸30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言